package com.maycur.taskdemo.listener;

import com.alibaba.fastjson.JSONObject;
import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class OrderEventListener{

    /**
     * @Subscribe 监听事件的处理方法；监听的事件对象类型可以是继承自Object的任何类。
     * @AllowConcurrentEvents 是在ASyncEventBus（异步事件总线中必要的），如果是EventBus则不用加上此注解
     * @param msg
     */
    @AllowConcurrentEvents
    @Subscribe
    public void eventFunc(JSONObject msg) {
        log.info("*************" + this.getClass().getCanonicalName()+"************************");
        try {
            Thread.sleep(3000l);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        log.info("on message {} ", msg.toJSONString());
    }
}